In a given online social or work interface, such as a social networking web site, a web portal page, an integrated development environment (IDE), etc., users often have the capability of customizing their views. Thus, for example, on a news portal web page, a user may want to see sports scores and stories at the top, followed by entertainment news and stories, and then headline news stories. Another user may want prioritize financial news stories and information at the top of the page, followed by world news, etc. Similarly, in an IDE, a team leader may want to see high level data in a main window, while a programmer may want to see program code in the main window.
The use of configurable interfaces, such as portals and IDEs, allows for such customization of views. Portlets are pluggable user interface software components that are managed and displayed in a web portal. Portlets produce fragments of markup code that are aggregated into a portal page. Typically, following the desktop metaphor, a portal page is displayed as a collection of non-overlapping portlet windows, where each portlet window displays a portlet. Hence a portlet (or collection of portlets) resembles a web-based application that is hosted in a portal. Examples of portlet applications are email, weather reports, discussion forums, and news.
Unfortunately, with the ever growing number of online sites that a given user may frequent, taking the time to customize each portal or configurable interface may become overly burdensome. For instance, if the user is only a casual or infrequent user of a site, he may not be inclined to customize the portal page. Further, if the user is new to a site, the user will be presented with a default view that may not be the most useful presentation of information for the user.